home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1439.txt < prev    next >
Text File  |  1994-08-01  |  20KB  |  620 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         C. Finseth
  8. Request for Comments: 1439                       University of Minnesota
  9.                                                               March 1993
  10.  
  11.  
  12.                   The Uniqueness of Unique Identifiers
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  It does
  17.    not specify an Internet standard.  Distribution of this memo is
  18.    unlimited.
  19.  
  20. Abstract
  21.  
  22.    This RFC provides information that may be useful when selecting a
  23.    method to use for assigning unique identifiers to people.
  24.  
  25. 1. The Issue
  26.  
  27.    Computer systems require a way to identify the people associated with
  28.    them.  These identifiers have been called "user names" or "account
  29.    names."  The identifers are typically short, alphanumeric strings.
  30.    In general, these identifiers must be unique.
  31.  
  32.    The uniqueness is usually achieved in one of three ways:
  33.  
  34.    1) The identifiers are assigned in a unique manner without using
  35.    information associated with the individual.  Example identifiers are:
  36.  
  37.            ax54tv
  38.            cs00034
  39.  
  40.    This method was often used by large timesharing systems.  While it
  41.    achieved the uniqueness property, there was no way of guessing the
  42.    identifier without knowing it through other means.
  43.  
  44.    2) The identifiers are assigned in a unique manner where the bulk of
  45.    the identifier is algorithmically derived from the individual's name.
  46.    Example identifers are:
  47.  
  48.            Craig.A.Finseth-1
  49.            Finseth1
  50.            caf-1
  51.            fins0001
  52.  
  53.    3) The identifiers are in general not assigned in a unique manner:
  54.    the identifier is algorithmically derived from the individual's name
  55.  
  56.  
  57.  
  58. Finseth                                                         [Page 1]
  59.  
  60. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  61.  
  62.  
  63.    and duplicates are handled in an ad-hoc manner.  Example identifiers
  64.    are:
  65.  
  66.            Craig.Finseth
  67.            caf
  68.  
  69.    Now that we have widespread electronic mail, an important feature of
  70.    an identifier system is the ability to predict the identifier based
  71.    on other information associated with the individual.  This other
  72.    information is typically the person's name.
  73.  
  74.    Methods two and three make such predictions possible, especially if
  75.    you have one example mapping from a person's name to the identifier.
  76.    Method two relies on using some or all of the name and
  77.    algorithmically varying it to ensure uniqueness (for example, by
  78.    appending an integer).  Method three relies on using some or all of
  79.    the name and selects an alternate identifier in the case of a
  80.    duplication.
  81.  
  82.    For both methods, it is important to minimize the need for making the
  83.    adjustments required to ensure uniqueness (i.e., an integer that is
  84.    not 1 or an alternate identifier).  The probability that an
  85.    adjustment will be required depends on the format of the identifer
  86.    and the size of the organization.
  87.  
  88. 2. Identifier Formats
  89.  
  90.    There are a number of popular identifier formats.  This section will
  91.    list some of them and supply both typical and maximum values for the
  92.    number of possible identifiers.  A "typical" value is the number that
  93.    you are likely to run into in real life.  A "maximum" value is the
  94.    largest number of possible (without getting extreme about it) values.
  95.    All ranges are expressed as a number of bits.
  96.  
  97. 2.1 Initials
  98.  
  99.    There are three popular formats based on initials: those with one,
  100.    two, or three letters.  (The number of people with more than three
  101.    initials is assumed to be small.)  Values:
  102.  
  103.            format                  typical         maximum
  104.  
  105.            I                       4               5
  106.            II                      8               10
  107.            III                     12              15
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Finseth                                                         [Page 2]
  115.  
  116. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  117.  
  118.  
  119.    You can also think of these as first, middle, and last initials:
  120.  
  121.            I                       4               5
  122.            F L                     8               10
  123.            F M L                   12              15
  124.  
  125. 2.2 Names
  126.  
  127.    Again, there are three popular formats based on using names: those
  128.    with the first name, last name, and both first and last names.
  129.    Values:
  130.  
  131.            format                  typical         maximum
  132.  
  133.            First                   8               14
  134.            Last                    9               13
  135.            First Last              17              27
  136.  
  137. 2.3 Combinations
  138.  
  139.    I have seen these combinations in use ("F" is first initial, "M" is
  140.    middle initial, and "L" is last initial):
  141.  
  142.            format                  typical         maximum
  143.  
  144.            F Last                  13              18
  145.            F M Last                17              23
  146.            First L                 12              19
  147.            First M Last            21              32
  148.  
  149. 2.4 Complete List
  150.  
  151.    Here are all possible combinations of nothing, initial, and full name
  152.    for first, middle, and last.  The number of Middle names is assumed
  153.    to be the same as the number of First names.  Values:
  154.  
  155.            format                  typical         maximum
  156.  
  157.            _ _ _                   0               0
  158.            _ _ L                   4               5
  159.            _ _ Last                9               13
  160.  
  161.            _ M _                   4               5
  162.            _ M L                   5               10
  163.            _ M Last                13              18
  164.  
  165.            _ Middle _              8               14
  166.            _ Middle L              12              19
  167.  
  168.  
  169.  
  170. Finseth                                                         [Page 3]
  171.  
  172. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  173.  
  174.  
  175.            _ Middle Last           17              27
  176.  
  177.            F _ _                   4               5
  178.            F _ L                   5               10
  179.            F _ Last                13              18
  180.  
  181.            F M _                   5               10
  182.            F M L                   12              15
  183.            F M Last                17              23
  184.  
  185.            F Middle _              12              19
  186.            F Middle L              16              24
  187.            F Middle Last           21              32
  188.  
  189.            First _ _               8               14
  190.            First _ L               12              19
  191.            First _ Last            17              27
  192.  
  193.            First M _               12              19
  194.            First M L               16              24
  195.            First M Last            21              32
  196.  
  197.            First Middle _          16              28
  198.            First Middle L          20              33
  199.            First Middle Last       26              40
  200.  
  201. 3. Probabilities of Duplicates
  202.  
  203.    As can be seen, the information content in these identifiers in no
  204.    case exceeds 40 bits and the typical information content never
  205.    exceeds 26 bits.  The content of most of them is in the 8 to 20 bit
  206.    range.  Duplicates are thus not only possible but likely.
  207.  
  208.    The method used to compute the probability of duplicates is the same
  209.    as that of the well-known "birthday" problem.  For a universe of N
  210.    items, the probability of duplicates in X members is expressed by:
  211.  
  212.            N   N-1   N-2         N-(X-1)
  213.            - x --- x --- x ... x -------
  214.            N    N     N             N
  215.  
  216.    A program to compute this function for selected values of N is given
  217.    in the appendix, as is its complete output.
  218.  
  219.    The "1%" column is the number of items (people) before an
  220.    organization of that (universe) size has a 1% chance of a duplicate.
  221.    Similarly for 2%, 5%, 10%, and 20%.
  222.  
  223.  
  224.  
  225.  
  226. Finseth                                                         [Page 4]
  227.  
  228. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  229.  
  230.  
  231.            bits       universe     1%      2%      5%      10%     20%
  232.  
  233.             6                 64   2       3       4       5       6
  234.             7                128   3       3       5       6       8
  235.             8                256   3       4       6       8       12
  236.             9                512   4       6       8       11      16
  237.            10              1,024   6       7       11      16      22
  238.            11              2,048   7       10      15      22      31
  239.            12              4,096   10      14      21      30      44
  240.            13              8,192   14      19      30      43      61
  241.            14             16,384   19      27      42      60      86
  242.            15             32,768   27      37      59      84      122
  243.            16             65,536   37      52      83      118     172
  244.            17            131,072   52      74      117     167     243
  245.            18            262,144   74      104     165     236     343
  246.            19            524,288   104     147     233     333     485
  247.            20          1,048,576   146     207     329     471     685
  248.            21          2,097,152   206     292     465     666     968
  249.            22          4,194,304   291     413     657     941     1369
  250.            23          8,388,608   412     583     929     1330    1936
  251.            24         16,777,216   582     824     1313    1881    2737
  252.            25         33,554,432   822     1165    1856    2660    3871
  253.            26         67,108,864   1162    1648    2625    3761    5474
  254.            27        134,217,728   1644    2330    3712    5319    7740
  255.            28        268,435,456   2324    3294    5249    7522    10946
  256.            29        536,870,912   3286    4659    7422    10637   15480
  257.            30      1,073,741,824   4647    6588    10496   15043   21891
  258.            31      2,147,483,648   6571    9316    14844   21273   30959
  259.  
  260.    For example, assume an organization were to select the "First Last"
  261.    form.  This form has 17 bits (typical) and 27 bits (maximum) of
  262.    information.  The relevant line is:
  263.  
  264.            17            131,072   52      74      117     167     243
  265.  
  266.    For an organization with 100 people, the probability of a duplicate
  267.    would be between 2% and 5% (probably around 4%).  If the organization
  268.    had 1,000 people, the probability of a duplicate would be much
  269.    greater than 20%.
  270.  
  271. Appendix: Reuse of Identifiers and Privacy Issues
  272.  
  273.    Let's say that an organization were to select the format:
  274.  
  275.            First.M.Last-#
  276.  
  277.    as my own organization has.  Is the -# required, or can one simply
  278.    do:
  279.  
  280.  
  281.  
  282. Finseth                                                         [Page 5]
  283.  
  284. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  285.  
  286.  
  287.            Craig.A.Finseth
  288.  
  289.    for the first one and
  290.  
  291.            Craig.A.Finseth-2
  292.  
  293.    (or -1) for the second?  The answer is "no," although for non-obvious
  294.    reasons.
  295.  
  296.    Assume that the organization has made this selection and a third
  297.    party wants to send e-mail to Craig.A.Finseth.  Because of the
  298.    Electronic Communications Privacy Act of 1987, an organization must
  299.    treat electronic mail with care.  In this case, there is no way for
  300.    the third party user to reliably know that sending to Craig.A.Finseth
  301.    is (may be) the wrong party.  On the other hand, if the -# suffix is
  302.    always present and attempts to send mail to the non-suffix form are
  303.    rejected, the third party user will realize that they must have the
  304.    suffix in order to have a unique identifier.
  305.  
  306.    For similar reasons, identifiers in this form should not be re-used
  307.    in the life of the mail system.
  308.  
  309. Appendix: Perl Program to Compute Probabilities
  310.  
  311.    #!/usr/local/bin/perl
  312.  
  313.    for $bits (6..31) {
  314.            &Compute($bits);
  315.            }
  316.    exit(0);
  317.  
  318.    # ------------------------------------------------------------
  319.  
  320.    sub Compute {
  321.            $bits = $_[0];
  322.            $num = 1 << $bits;
  323.            $cnt = $num;
  324.  
  325.            print "bits $bitsnumber $num:0;
  326.  
  327.            for ($prob = 1; $prob > 0.99; ) {
  328.                    $prob *= $cnt / $num;
  329.                    $cnt--;
  330.                    }
  331.  
  332.            print "", $num - $cnt, "$prob0;
  333.  
  334.            for (; $prob > 0.98; ) {
  335.  
  336.  
  337.  
  338. Finseth                                                         [Page 6]
  339.  
  340. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  341.  
  342.  
  343.                    $prob *= $cnt / $num;
  344.                    $cnt--;
  345.                    }
  346.            print "", $num - $cnt, "$prob0;
  347.  
  348.            for (; $prob > 0.95; ) {
  349.                    $prob *= $cnt / $num;
  350.                    $cnt--;
  351.                    }
  352.            print "", $num - $cnt, "$prob0;
  353.  
  354.            for (; $prob > 0.90; ) {
  355.                    $prob *= $cnt / $num;
  356.                    $cnt--;
  357.                    }
  358.            print "", $num - $cnt, "$prob0;
  359.  
  360.            for (; $prob > 0.80; ) {
  361.                    $prob *= $cnt / $num;
  362.                    $cnt--;
  363.                    }
  364.            print "", $num - $cnt, "$prob0;
  365.  
  366.            print "0;
  367.            }
  368.  
  369. Appendix: Perl Program Output
  370.  
  371.    bits 6  number 64:
  372.            2       0.984375
  373.            3       0.95361328125
  374.            4       0.90891265869140625
  375.            5       0.85210561752319335938
  376.            6       0.78553486615419387817
  377.  
  378.    bits 7  number 128:
  379.            3       0.9766845703125
  380.            3       0.9766845703125
  381.            5       0.92398747801780700684
  382.            6       0.88789421715773642063
  383.            8       0.79999355674331695809
  384.  
  385.    bits 8  number 256:
  386.            3       0.988311767578125
  387.            4       0.97672998905181884766
  388.            6       0.94268989971169503406
  389.            8       0.89542306910786462204
  390.            12      0.76969425214152431547
  391.  
  392.  
  393.  
  394. Finseth                                                         [Page 7]
  395.  
  396. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  397.  
  398.  
  399.    bits 9  number 512:
  400.            4       0.98832316696643829346
  401.            6       0.97102570187075798458
  402.            8       0.94652632751096643648
  403.            11      0.89748056780293572476
  404.            16      0.78916761796439427457
  405.  
  406.    bits 10 number 1024:
  407.            6       0.98543241551841020964
  408.            7       0.97965839745873206645
  409.            11      0.94753115178840541244
  410.            16      0.88888866335604777014
  411.            22      0.79677613655632184564
  412.  
  413.    bits 11 number 2048:
  414.            7       0.98978773152834598203
  415.            10      0.97823367137821537476
  416.            15      0.94990722378677450166
  417.            22      0.89298119682681720288
  418.            31      0.79597589885472519455
  419.  
  420.    bits 12 number 4096:
  421.            10      0.98906539062491305447
  422.            14      0.97800426773009718762
  423.            21      0.94994111694430838355
  424.            30      0.89901365764115603874
  425.            44      0.79312138620093930452
  426.  
  427.    bits 13 number 8192:
  428.            14      0.98894703242829806733
  429.            19      0.97932692503837115439
  430.            30      0.94822407309193512681
  431.            43      0.89545741661906652631
  432.            61      0.7993625840767998314
  433.  
  434.    bits 14 number 16384:
  435.            19      0.98961337517641645434
  436.            27      0.97879319536756481668
  437.            42      0.94876352395820107155
  438.            60      0.89748107890372830209
  439.            86      0.79973683158771624591
  440.  
  441.    bits 15 number 32768:
  442.            27      0.98934263776790121181
  443.            37      0.97987304880641035165
  444.            59      0.94909471808051404373
  445.            84      0.89899774209805793923
  446.            122     0.79809378598190949816
  447.  
  448.  
  449.  
  450. Finseth                                                         [Page 8]
  451.  
  452. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  453.  
  454.  
  455.    bits 16 number 65536:
  456.            37      0.98988724065590050216
  457.            52      0.97996496661944154649
  458.            83      0.94937874420413270737
  459.            118     0.89996948010355670711
  460.            172     0.79884228150816105618
  461.  
  462.    bits 17 number 131072:
  463.            52      0.98993311138884398925
  464.            74      0.97960010416289267088
  465.            117     0.94952974978505377823
  466.            167     0.89960828942716541956
  467.            243     0.79894309171178368167
  468.  
  469.    bits 18 number 262144:
  470.            74      0.98974844864797828503
  471.            104     0.97977315557223210174
  472.            165     0.94968621078621640041
  473.            236     0.8995926348279144058
  474.            343     0.7994422793765953994
  475.  
  476.    bits 19 number 524288:
  477.            104     0.98983557888923057178
  478.            147     0.97973841652874515962
  479.            233     0.94974719445364064185
  480.            333     0.89991342619657743729
  481.            485     0.79936749144148444568
  482.  
  483.    bits 20 number 1048576:
  484.            146     0.98995567500195758015
  485.            207     0.97987072919607220989
  486.            329     0.94983990872655321702
  487.            471     0.89980857451706741656
  488.            685     0.79974215234216872172
  489.  
  490.    bits 21 number 2097152:
  491.            206     0.98998177463778547214
  492.            292     0.97994400939715686771
  493.            465     0.94985589918092261374
  494.            666     0.89978055267663470396
  495.            968     0.79994886751736571373
  496.  
  497.    bits 22 number 4194304:
  498.            291     0.98999013137747737812
  499.            413     0.97991951242142538714
  500.            657     0.94991674892578203959
  501.            941     0.89991652739633254399
  502.            1369    0.79989205747440361716
  503.  
  504.  
  505.  
  506. Finseth                                                         [Page 9]
  507.  
  508. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  509.  
  510.  
  511.    bits 23 number 8388608:
  512.            412     0.98995762604049764022
  513.            583     0.97997846530691334888
  514.            929     0.94991024716640248826
  515.            1330    0.89999961063320443877
  516.            1936    0.79987028265451087794
  517.  
  518.    bits 24 number 16777216:
  519.            582     0.98997307486745211857
  520.            824     0.97999203469417239809
  521.            1313    0.94995516684099989835
  522.            1881    0.89997049960675035152
  523.            2737    0.79996700222056416063
  524.  
  525.    bits 25 number 33554432:
  526.            822     0.98999408609360783906
  527.            1165    0.9799956928177964155
  528.            1856    0.9499899669674316538
  529.            2660    0.8999664414095410736
  530.            3871    0.79992328289672998132
  531.  
  532.    bits 26 number 67108864:
  533.            1162    0.98999884535478044345
  534.            1648    0.9799801637652703068
  535.            2625    0.94997437525354821997
  536.            3761    0.89999748465616635773
  537.            5474    0.79993922903192515861
  538.  
  539.    bits 27 number 134217728:
  540.            1644    0.9899880636014986024
  541.            2330    0.97998730103356856969
  542.            3712    0.94997727934463771504
  543.            5319    0.89998552434244594167
  544.            7740    0.79999591580103557309
  545.  
  546.    bits 28 number 268435456:
  547.            2324    0.98999458855588851058
  548.            3294    0.97999828329325222587
  549.            5249    0.94998397932368705554
  550.            7522    0.89998576049206902017
  551.            10946   0.79999058777500076101
  552.  
  553.    bits 29 number 536870912:
  554.            3286    0.98999717306002099626
  555.            4659    0.97999160965267329004
  556.            7422    0.94999720388831232487
  557.            10637   0.89999506567702891591
  558.            15480   0.7999860979665908145
  559.  
  560.  
  561.  
  562. Finseth                                                        [Page 10]
  563.  
  564. RFC 1439            Uniqueness of Unique Identifiers          March 1993
  565.  
  566.  
  567.    bits 30 number 1073741824:
  568.            4647    0.98999674474047760775
  569.            6588    0.97999531736215383937
  570.            10496   0.94999806770951356061
  571.            15043   0.89999250738244507275
  572.            21891   0.79999995570982085358
  573.  
  574.    bits 31 number 2147483648:
  575.            6571    0.98999869761078929109
  576.            9316    0.97999801528523688976
  577.            14844   0.94999403283519279206
  578.            21273   0.89999983631135749285
  579.            30959   0.79999272222201334159
  580.  
  581. References
  582.  
  583.    Bruce Lansky (1984).  The Best Baby Name Book.  Deephaven, MN:
  584.    Meadowbrook.  ISBN 0-671-54463-2.
  585.  
  586.    Lareina Rule (1988).  Name Your Baby.  Bantam.  ISBN 0-553-27145-8.
  587.  
  588. Security Considerations
  589.  
  590.    Security issues are not discussed in this memo.
  591.  
  592. Author's  Address
  593.  
  594.    Craig A. Finseth
  595.    Networking Services
  596.    Computer and Information Services
  597.    University of Minnesota
  598.    130 Lind Hall
  599.    207 Church St. SE
  600.    Minneapolis, MN 55455-0134
  601.  
  602.    EMail: Craig.A.Finseth-1@umn.edu or
  603.           fin@unet.umn.edu
  604.  
  605.    Phone: +1 612 624 3375
  606.    Fax: +1 612 626 1002
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Finseth                                                        [Page 11]
  619.  
  620.